package com.xoa.controller.vehicle;

import com.xoa.model.vehicle.VehicleUsageWithBLOBs;
import com.xoa.service.vehicle.VeHicleUsageService;
import com.xoa.util.AjaxJson;
import com.xoa.util.ToJson;
import com.xoa.util.page.PageParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

/**
 * 创建作者:   高亚峰
 * 创建日期:   2017/9/19 15:09
 * 类介绍  :   车辆管理
 * 构造参数:
 */
@Controller
@RequestMapping("/veHicleUsage")
public class VeHicleUsageController {
    @Autowired
    VeHicleUsageService veHicleUsageService;
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月19日 下午15:01:41
     * 方法介绍:   车辆申请
     * 参数说明:   vehicleUsageWithBLOBs
     * @return    ajaxjson
     */
    @RequestMapping("/addVeHicle")
    @ResponseBody
    public AjaxJson addVeHicle(HttpServletRequest request, VehicleUsageWithBLOBs vehicleUsageWithBLOBs){
        return veHicleUsageService.addVeHicle(request,vehicleUsageWithBLOBs);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月19日 下午15:01:41
     * 方法介绍:   车辆使用申请列表展示
     * 参数说明:   request
     * @return    ajaxjson
     */
    @RequestMapping("/selectAllVeHicle")
    @ResponseBody
    public AjaxJson selectAllVeHicle(HttpServletResponse response,HttpServletRequest request, String vuStatusName,String applyStartTime,VehicleUsageWithBLOBs vehicleUsageWithBLOBs, String applyEndTime,String export){
        return veHicleUsageService.selectAllVeHicle(response,request,vuStatusName,applyStartTime,vehicleUsageWithBLOBs,applyEndTime,export);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月19日 下午17:01:41
     * 方法介绍:   部门审批列表展示
     * 参数说明:   request
     * @return    ajaxjson
     */
    @RequestMapping("/deptApproval")
    @ResponseBody
    public AjaxJson selectAllObjects(HttpServletRequest request,String dmerStatus,PageParams pageParams){
     return veHicleUsageService.deptApproval(request,dmerStatus,pageParams);
    }

    @RequestMapping("/selectAllObjects")
    @ResponseBody
    public AjaxJson selectAllObjects(HttpServletRequest request, PageParams pageParams){
        return veHicleUsageService.selectAllObjects(request,pageParams);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月19日 下午17:01:41
     * 方法介绍:   部门审批接口
     * 参数说明:   request
     * @return    ajaxjson
     */
    @RequestMapping("/editDeptApproval")
    @ResponseBody
    public AjaxJson editDeptApproval(VehicleUsageWithBLOBs vehicleUsageWithBLOBs,HttpServletRequest request){
        return veHicleUsageService.editDeptApproval(vehicleUsageWithBLOBs,request);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月19日 下午17:01:41
     * 方法介绍:   调度员审批接口
     * 参数说明:   request
     * @return    ajaxjson
     */
    @RequestMapping("/editOperatorstatu")
    @ResponseBody
    public AjaxJson editOperatorstatu(VehicleUsageWithBLOBs vehicleUsageWithBLOBs,HttpServletRequest request){
        return veHicleUsageService.editOperatorstatu(vehicleUsageWithBLOBs,request);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/21 11:49
     * 类介绍  :   车辆管理预定情况
     * 构造参数:
     */
    @RequestMapping("/getReservation")
    @ResponseBody
    public ToJson<VehicleUsageWithBLOBs> getReservation(Integer vId){
        return veHicleUsageService.getReservation(vId);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月19日 下午17:01:41
     * 方法介绍:   调度员审批列表展示
     * 参数说明:   request
     * @return    ajaxjson
     */
    @RequestMapping("/GetOperator")
    @ResponseBody
    public AjaxJson GetOperator(HttpServletRequest request,String applyStartTime,String applyEndTime,VehicleUsageWithBLOBs vehicleUsageWithBLOBs){
        return veHicleUsageService.GetOperator(request,applyStartTime,applyEndTime,vehicleUsageWithBLOBs);
    }
    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年9月25日 下午09:25:41
     * 方法介绍:   车辆使用情况的列表展示
     * 参数说明:
     * @return
     */
    @RequestMapping("/showList")
    public String showList(String vuStatusName, Map<String,Object> map){
        map.put("vuStatusName",vuStatusName);
        return "app/vehicle/vehicleUseQuery/showList";
    }
    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年9月25日 下午09:25:41
     * 方法介绍:   车辆使用情况的查询
     * 参数说明:
     * @return
     */
    @RequestMapping("/useQuery")
    public String useQuery(){
        return "app/vehicle/vehicleUseQuery/useQuery";
    }
    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年9月25日 下午09:25:41
     * 方法介绍:   车辆使用查询index
     * 参数说明:
     * @return
     */
    @RequestMapping("/index")
    public String index(){
        return "app/vehicle/vehicleUseQuery/index";
    }

    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月25日 下午13:01:41
     * 方法介绍:   车辆使用详情接口
     * 参数说明:   vuId
     * @return    AjaxJson
     */
    @ResponseBody
    @RequestMapping("/getVehicleUsageDetail")
    public AjaxJson getVehicleUsageDetail(Integer vuId){
            return veHicleUsageService.getVehicleUsageDetail(vuId);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月25日 下午13:01:41
     * 方法介绍:   车辆使用删除接口
     * 参数说明:   vuId
     * @return    AjaxJson
     */
    @ResponseBody
    @RequestMapping("/deleteVehicleUsage")
    public AjaxJson deleteVehicleUsage(Integer vuId){
        return veHicleUsageService.deleteVehicleUsage(vuId);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年9月27日 下午13:01:41
     * 方法介绍:   车辆使用编辑接口
     * 参数说明:   vuId
     * @return    AjaxJson
     */
    @ResponseBody
    @RequestMapping("/editVehicleUsage")
    public AjaxJson editVehicleUsage(VehicleUsageWithBLOBs vehicleUsageWithBLOBs){
       return  veHicleUsageService.editVehicleUsage(vehicleUsageWithBLOBs);
    }





}

